package org.example.backend.service;

import org.example.backend.dto.PolicyInfoDTO;
import org.example.backend.dto.PageResult;
import java.util.List;
import java.util.Map;

public interface PolicyInfoService {
    PageResult<PolicyInfoDTO> getPoliciesByPage(int page, int size, String keyword, String category, String department, String region, String dateFrom, String dateTo, List<String> tags, String status, String sortBy, String sortOrder);
    PolicyInfoDTO getPolicyById(String policyId);
    List<PolicyInfoDTO> getAllPolicies();
    List<PolicyInfoDTO> filterPolicies(String keyword, String category, String department, String region, String dateFrom, String dateTo, List<String> tags, String status);
    List<PolicyInfoDTO> fuzzySearchPolicies(String keyword);
    List<PolicyInfoDTO> getRelatedPolicies(String policyId, int limit);
    /**
     * 查询政策库真实总数
     */
    int countAllPolicies();
    
    /**
     * 批量获取政策详细信息
     */
    List<PolicyInfoDTO> getBatchPoliciesByIds(List<String> policyIds);
    
    /**
     * 获取政策统计信息用于对比
     */
    Map<String, Object> getPolicyStatisticsForComparison(List<String> policyIds);
    
    /**
     * 获取政策地理分布
     */
    Map<String, Object> getPolicyGeoDistribution(List<String> policyIds);
}